<?php
class RecursoBSN extends GenericBSN {
	
	function __construct() {
		$this->dao = new RecursoDAO();
	}

	public function consultar($vars) {
		$this->preencher($vars);
		
		if (!isset($vars["valor"]) || $vars['valor'] == "" || isset($vars['recurso'])) {
			$this->Records = $this->dao->consultarFilhos(isset($vars['recurso']) ? $vars['recurso'] : null);
			$this->TotalRecordCount = $this->dao->contarFilhos(isset($vars['recurso']) ? $vars['recurso'] : null);   
		} else {
			$this->Records = $this->dao->consultar($this->where, $this->params, $this->order . $this->limit);
			$this->TotalRecordCount = $this->dao->contarRegistros($this->where, $this->params);   
		}
		
		$this->Result  = "OK";
	}

	public function consultarArvore($vars) {
		$id = isset($vars["recursoid"]) ? $vars["recursoid"] : null;
		$this->Records = $this->dao->consultarArvore($id);
		$this->Result = "OK";
	}
	
	public function inserir($vars) {
		try {
			$reg['nome'] = $vars['nome'];
			$reg['titulo'] = $vars['titulo'];
			$reg['descricao'] = isset($vars['descricao']) ? $vars['descricao'] : null;
			$reg['recurso'] = isset($vars['recurso']) ? $vars['recurso'] : null;
			$this->Record = $this->dao->inserir($reg, false);
			$dao = new AcessoDAO();
			$id = $dao->inserir(null, true);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}

	public function alterar($registro) {
		if (is_null($this->dao->alterar($registro))) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar alterar";
		} else {
			$this->Result  = "OK";
		}
	}

	public function excluir($registro) {
		if (is_null($this->dao->excluir($registro['id']))) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar excluir";
		} else {
			$this->Result  = "OK";
		}
	}
}
?>